const { Op } = require('sequelize');
const { Users } = require('../../models');
const jwt = require('jsonwebtoken')
const {  success } = require('../../utils/response');
// 登陆处理函数
exports.userlogin = async (req, res) => {
    try {
        // 获取请求体中的用户名和密码
        const { username, password } = req.body;
        console.log(username, password);

        // 验证用户输入是否为空
        if (!username || !password) {
            return res.status(400).json({ msg: '用户名和密码不能为空!' });
        }

        // 查找用户并验证密码
        const user = await Users.findOne({ where: { username: username } });

        if (!user) {
            return res.status(401).json({ msg: '用户名不存在!' });
        }

        // 生成 JWT
        const tokenStr = jwt.sign(
            { userId: user.id }, // 使用用户 ID 作为 payload
            process.env.SECRET,
            { expiresIn: '30d' }
        );

        success(res, "登陆成功!", {
            token: tokenStr,
            user: user,
        })
    } catch (error) {
        // 错误处理
        console.error(error);
        return res.status(500).json({ msg: '服务器内部错误!', error });
    }
};
